home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Language/OS - Multiplatform Resource Library
/
LANGUAGE OS.iso
/
ast_text
/
faqs
/
obernfqs
< prev
next >
Wrap
Text File
|
1993-06-28
|
10KB
|
268 lines
Path: senator-bedfellow.mit.edu!enterpoop.mit.edu!gatech!howland.reston.ans.net!ux1.cso.uiuc.edu!uwm.edu!ogicse!psgrain!m2xenix!mikeg
From: mikeg@psg.com (Mike Gallo)
Newsgroups: comp.lang.oberon,comp.answers,news.answers
Subject: Comp.lang.oberon FAQ (monthly)
Summary: This posting contains a list of Frequently Asked Questions
(and their answers) about Oberon. It should be read by anyone
who wishes to post to the Comp.lang.oberon newsgroup.
Message-ID: <1993Jun12.002120.20557@psg.com>
Date: 12 Jun 93 00:21:20 GMT
Article-I.D.: psg.1993Jun12.002120.20557
Expires: Thu, 1 Jul 1993 07:00:00 GMT
Followup-To: comp.lang.oberon
Organization: PSGnet, Portland Oregon US
Lines: 250
Approved: news-answers-request@MIT.Edu
Xref: senator-bedfellow.mit.edu comp.lang.oberon:404 comp.answers:957 news.answers:9311
Archive-name: Oberon-FAQ
(* * * * * * * * * * * * * * * * * * * * * *)
Thanks to all who have contributed! Further additions and
corrections are welcome.
mikeg@psg.com
(* * * * * * * * * * * * * * * * * * * * * *)
CONTENTS
(1) Oberon
(2) Oberon-2
(3) Modula-3, Object Oberon, and Seneca
(4) The Oberon system
(5) The Gadgets system
(6) For more information
(7) To get an implementation of Oberon
(1) OBERON
From the release notes to ETH's Oberon
Oberon is both a programming language and an
operating environment. It is the final outcome of a
research project whose aim was an extensible, highly
integrated and compact operating platform for single-
user, personal workstations.
From "From Modula To Oberon"
The language Oberon has evolved from Modula-2 and
incorporates the experiences of many years of programming
in Modula-2. A significant number of features have been
eliminated. They appear to have contributed more to
language and compiler complexity than to genuine power
and flexibility of expression. A small number of
features have been added, the most significant one being
the concept of type extension [inheritance].
The evolution of a new language that is smaller, yet
more powerful than its ancestor is contrary to common
practices and trends, but has inestimable advantages.
Apart from simpler compilers, it results in a concise
defining document, an indispensable prerequisite for any
tool that must serve in the construction of sophisticated
and reliable systems.
(2) OBERON-2
From "Differences between Oberon and Oberon-2"
Oberon-2 is a true extension of Oberon. One
important goal for Oberon-2 was to make object-oriented
programming easier without sacrificing the conceptual
simplicity of Oberon. After three years of using Oberon
and its experimental offspring Object Oberon, we merged
our experiences into a single refined version of Oberon.
The new features of Oberon-2 are type-bound procedures
[virtual methods], read-only export of variables and
record fields, open arrays as pointer base types, and a
with statement with variants. The for statement is
reintroduced after having been eliminated in the step
from Modula-2 to Oberon.
(3) MODULA-3, OBJECT OBERON, AND SENECA
Modula-3 is a language designed by DEC Software Research
Center. Although also a descendant (but not a superset) of Modula-
2, it is otherwise unrelated to Oberon. Unless they bear on
Oberon, discussions about Modula-3 are better directed to
Comp.lang.modula3.
Object Oberon is a now defunct, experimental extension of
Oberon featuring "classes", structures somewhere in between modules
and records. It evolved into Oberon-2.
Seneca (soon to be renamed) is a variant of Oberon focusing on
numerical programming. It is still under development by R.
Griesemer, but a new report is expected to come out later this
year.
(4) THE OBERON SYSTEM
From thutt@access.digex.com (Taylor Hutt)
Oberon, the system, is a somewhat graphical user
interface (Version 3.0 will be more graphical). Gone are
the concepts of 'mode' (like insert/overstrike mode of a
word processor). The mouse clicks always mean the same
thing. However, even though the clicks mean the same
thing, they have complicated the process (for a novice)
by creating a new concept called the interclick.
Basically, you press a mouse button, hold it down, and
then press another mouse button. With three buttons,
this can be confusing in the beginning. Button clicks
provide messages for the system to pass around to the
viewers.
A viewer is a system which handles all open windows
of a particular type. When you install Oberon, it comes
with a Text viewer, and a Graphic viewer. You, the
programmer, could easily make a SpreadSheet viewer or a
AST viewer with little or no effort. It is up to the
programmer of the Viewer to determine how output will be
displayed. (Thus, there is no 'one' answer to how text is
to be displayed on the screen). Oberon sends the proper
messages to the proper viewer, and it is the
responsibility of the Viewer to maintain the viewed area.
One of Oberon's biggest advantages is portability.
The language is defined more rigidly than many other
languages, thus source can be ported virtually to any
other Oberon system. Data files are also compatible,
which is really nice.
(5) THE GADGETS SYSTEM
From psaladin@iiic.ethz.ch (Patrick Saladin)
The Gadget-System is an experimental system to
manage graphical user interfaces (GUI). It provides the
design of GUIs at run-time, which are based on basic
elements, socalled Gadgets. The system is shipped with
often used Gadgets, eg. buttons, sliders, file-browsers
up to more complex ones, like a picture-editor. Users
combine Gadgets at run-time (socalled composition) to
build more complex Gadgets out of simpler ones. These
combined Gadgets act as independent units, which can be
used in the environment. For example in texts or in other
more complex Gadgets again. They also are editable at
run-time, where ever they occur. GUIs can be created
without the need of their application, it is also
possible to add a GUI to textbased Oberon applications.As
a consequence, users can create their own GUIs, depending
on their habits and taste, they can take bits out of
existing applications and insert them somewhere else. As
time passes, more and more different kinds of Gadgets
will be available. Additionally, programmers can build
other Gadget, which provide new functions.This can be
achieved by extending existing Gadgets (OO-technique) or
implementing new types of Gadgets. The Gadget-system
uses the Oberon-Languagever.1. It can easily be learned
if one understands the principles of the Oberon-system.
(6) FOR MORE INFORMATION
Complete PostScript documentation from ETH is available by
anonymous ftp from:
neptune.inf.ethz.ch:/Oberon/Docu
gatekeeper.dec.com:/pub/plan/Oberon/Docu
"Oberon: A Glimpse at the Future" by Dick Pountain
BYTE
May 1993
"Oberon" by Dick Pountain
BYTE
March 1991
"From Modula to Oberon" by N. Wirth
Software: Practice and Experience
18,7 (July 1988) 661-670
"The Programming Language Oberon" by N. Wirth
Software: Practice and Experience
18,7 (July 1988) 671-690
"The Oberon System" by N. Wirth and J. Gutknecht
Software: Practice and Experience
19,9 (September 1989) 857-893
The Oberon System: User Guide and Programmer's Manual by M. Reiser,
ACM Press 1992; ISBN 0-201-54422-9
Programming in Oberon: Steps Beyond Pascal and Modula-2 by M.
Reiser and N. Wirth, ACM Press 1992; ISBN 0-201-56543-9
Project Oberon: The Design of an Operating System and Compiler by
N. Wirth and J. Gutknecht, ACM Press 1992; ISBN 0-201-54428-8
Object Oriented Programming in Oberon-2 by H. Moessenboeck,
Springer-Verlag 1993; ISBN 3-650-56411-X
A New Approach to Formal Language Definition and Its Application to
Oberon by M. Odersky, Verlag der Fachvereine Zuerich 1989; ISBN 3-
7281-1732-3
(7) TO GET AN IMPLEMENTATION OF OBERON
The original project was launched and carried out by N. Wirth
and J. Gutknecht for the Ceres workstation. Now, freeware versions
of the Oberon language and system are available for numerous
commercial machines, among them Macintosh, IBM RS/6000, DEC
station, SPARC station and IBM PC/386 compatibles. These are
available by anonymous ftp from:
neptune.inf.ethz.ch:/Oberon
gatekeeper.dec.com:/pub/plan/Oberon
For Oberon compilers developed outside ETH, contact:
VAX/VMS:
ModulaWare GmbH, Wilhelmstr. 17A, D-W 8520 Erlangen/F.R.Germany
Modula-2 & Oberon-2 Compiler Manufactur
Tel. +49 (9131) 208395, Fax +49 (9131) 28205.
E-mail/Internet:
100023.2527@compuserve.com
g_dotzel@ame.nbg.sub.org
MS-DOS:
Oberon-M (freeware)
neptune.inf.ethz.ch:/Oberon/Oberon-M
gatekeeper.dec.com:/pub/plan/Oberon/Oberon-M
(N.B., Oberon-M is independently produced and has no relation to
ETH or DEC)
Real Time Associates Ltd.
Canning House, 59 Canning Road
Croydon, Surrey, CRO 6QF
England
Tel.: 0044-81-656 7333
Fax: 0044-81-655 0401
E-mail: 100023.145@CompuServe.COM
COP2 (partial Oberon to C translator)
E-mail: thutt@access.digex.com (Taylor Hutt)
Amiga:
A+L AG
Daederiz 61
CH-2540 Grenchen
Tel.: +41 (65) 52 03 11
DECstation (Ultrix, OSF/1), Intel386 (SVR4, OS2, Solaris), Sparc
(Solaris)
Office of Commercial Services
Queensland University of Technology
GPO box 2434, Brisbane Q4001
Australia
--
This is patently absurd; but whoever wishes to become a
philosopher must learn not to be frightened by absurdities.
-- Bertrand Russell